package cn.scy.base;

import lombok.Data;

import javax.validation.constraints.Max;
import javax.validation.constraints.NotNull;

/**
 * 分页基础参数
 *
 * @author scy
 */
@Data
public class PageParam {

    /**
     * 当前页
     */
    @NotNull(message = "当前页不能为空")
    private Integer current;

    /**
     * 每页的数量
     */
    @NotNull(message = "每页数量不能为空")
    @Max(value = 100, message = "每页最大为 100")
    private Integer size;

    /**
     * 获取开始的数据行号
     *
     * @return 当前页的开始数据行号
     */
    public Integer start() {
        return (this.current - 1) * this.size;
    }

    /**
     * 获取结束的数据行号
     *
     * @return 当前页的结束数据行号
     */
    public Integer end() {
        return this.current * this.size;
    }

}
